Recently, there has been great interest in providing audio/video programming to consumers in a timely and efficient manner. The optimal delivery system would be capable of receiving a program request from a user and transmitting the requested programming directly to the user immediately after receiving the program request. Such services are often referred to as "video-on-demand" services.
The current audio/video delivery networks, including telephone and cable television ("CATV") networks, are not capable of providing true "on-demand" programming in a timely and efficient manner. The prior art does not describe a method or system for efficiently providing a service that delivers requested programming immediately upon a user request.
The existing networks are deficient in several areas. First, the existing networks are not capable of providing the bandwidth needed for individual household entertainment grade audio/video channels. While existing telephone networks provide individual channels via a widely connected network from and to each household, the capacity of the channel is limited to low grade audio which is not suitable for delivering quality audio/video programming.
Modern CATV networks, on the other hand, provide the bandwidth needed, but these networks are designed to broadcast a selected set of channels to a large number of households. Each household is restricted to viewing programs from a selected set of channels. The CATV provider defines the program content and timing.
A second deficiency of the prior art concerns the switching capabilities of the existing networks. Assuming that source origination is not economical at the local "central office" or "headend" of the network, this portion of the network needs to be switched. Current CATV systems have no provision for this type of switching. Telephony based systems, while providing a limited switching function, do not have the necessary capacity or flexibility.
Yet another deficiency of the prior art is the need for a audio/video server which can provide requested programming to the distribution network. Several different approaches have been tested by companies attempting to develop a practical server. One such effort employs banks of VCRs, shelves of video tapes and human operators. Unfortunately, this method is labor intensive and prone to human error.
U.S. Pat. No. 4,506,387 discloses a system and method for providing programming-on-demand which downloads programming on a non-real-time basis to a receiving station at a user's location. This method and system is costly as it requires specialized equipment at each user's location. Furthermore, it does not satisfy the requirements of a true video-on-demand service as it does not operate in real time.
Two other systems rely on advanced disk array technology and on schemes for laying out the audio/video data on the disks to facilitate retrieval and distribution of the data when requested. Although this system might work on a small scale, large scale implementation of this system is costly as it requires specialized and expensive hardware.
Yet another system uses a large solid state RAM and a high speed magnetic tape for bulk storage. Like the previous approaches, the hardware required for large scale implementation of this system is cost prohibitive.
The prior art approaches to providing automated video-on-demand services have focused on deficiencies of the data processing systems used in the distribution networks. While increasing the speed and capacity of such systems may provide a technical solution to the current problems in the field, this type of approach has proven to be costly.
A need therefore exists for a method and system which addresses the shortcomings of the prior art. A need exists for a method and system for efficiently and cost effectively delivering audio/video programming to one of a number of users based upon the user's request. Furthermore, a need exists for a method and system for efficiently responding to a user's program request to minimize the time interval between the user's program request and the user's reception of the requested programming.